package org.stvd.repository.common;

import java.util.List;
import java.util.Map;

import org.stvd.entities.common.AuditFlow;
import org.stvd.repository.base.BaseDao;

/**
 * 审核记录Repository接口类
 * @author houzx
 */
public interface AuditFlowDao extends BaseDao<AuditFlow>{

    /**
     * 根据主体信息获取审核记录
     * @param sourceTable 源数据表名
     * @param sourceId 源数据ID
     * @return
     */
    public AuditFlow getAuditFlowByInfoId(String sourceTable, String sourceId);
    
    /**
     * 根据主体信息查询全部审核记录列表
     * @param sourceTable 源数据表名
     * @param sourceId 源数据ID
     * @return
     */
    public List<Map<String, Object>> listAllAuditFlowDetail(String sourceTable, String sourceId);
    
    
    /**
     * 根据主体信息查询全部审核记录列表
     * @param sourceTable 源数据表名
     * @param sourceId 源数据ID
     * @param auditorId 审核人ID
     * @return
     */
    public List<Map<String, Object>> listUserAuditFlowDetail(String sourceTable, String sourceId, String auditorId);

    /**
     * 根据条件删除审核记录
     * @param sourceTable 源数据表名
     * @param sourceId 源数据ID
     */
    public void deleteAuditFlowBySource(String sourceTable, String sourceId);
}
